Clean up handling of _gdk_win32_grab_cursor
authorMatthias Clasen <mclasen@redhat.com>
Sat, 17 Oct 2015 16:45:25 +0000 (12:45 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 17 Oct 2015 16:45:25 +0000 (12:45 -0400)
This is a variable holding a ref to an object, so it is
a great case to use g_set_object and g_clear_object.

 # Please enter the commit message for your changes. Lines starting

gdk/win32/gdkdevice-virtual.c

index 3a972855dbff5cdcce6bd5e01ca15b96222bdbcb..b947800240fbc0918ef31850470c920aab621d05 100644 (file)
@@ -266,10 +266,9 @@ gdk_device_virtual_grab (GdkDevice    *device,
        {
          if (GetCursor () == GDK_WIN32_CURSOR (_gdk_win32_grab_cursor)->hcursor)
            SetCursor (NULL);
-         g_clear_object (&_gdk_win32_grab_cursor);
        }
 
-      _gdk_win32_grab_cursor = (cursor == NULL) ? NULL : g_object_ref (cursor);
+      g_set_object (&_gdk_win32_grab_cursor, cursor);
 
       if (_gdk_win32_grab_cursor != NULL)
        SetCursor (GDK_WIN32_CURSOR (_gdk_win32_grab_cursor)->hcursor);
@@ -303,9 +302,8 @@ gdk_device_virtual_ungrab (GdkDevice *device,
        {
          if (GetCursor () == GDK_WIN32_CURSOR (_gdk_win32_grab_cursor)->hcursor)
            SetCursor (NULL);
-         g_clear_object (&_gdk_win32_grab_cursor);
        }
-      _gdk_win32_grab_cursor = NULL;
+      g_clear_object (&_gdk_win32_grab_cursor);
 
       ReleaseCapture ();
     }